<?php

// importa a biblioteca do Lumine
require_once 'Lumine/Lumine.php';
// importa as configurações do Lumine
require_once 'lumine-conf.php';
// inicia as configurações do lumine
$config = new Lumine_Configuration($lumineConfig);

// importando a classe gerada pelo lumine
Lumine::import('Pessoa', 'Pacote', 'Estado', 'Cidade', 'Pagseguro');

class ServicoPessoa {
	public static function gravarPessoa($obj){
		$pessoa = new Pessoa();
					
		$pessoa->nome = utf8_decode(strtoupper($obj["nome"]));
		$pessoa->datanasc = $obj["datanasc"];
		$pessoa->fone1 = $obj["telefone"];
		$pessoa->sexo = $obj["sexo"];
		$pessoa->cpf = $obj["cpf"];
		$pessoa->email1 = $obj["email"];
		$pessoa->senha = $obj["senha"];
		$pessoa->endereco = utf8_decode(strtoupper($obj["endereco"]));
		$pessoa->bairro = utf8_decode(strtoupper($obj["bairro"]));
		$pessoa->uf = $obj["uf"];
		$pessoa->cidade = utf8_decode($obj["cidade"]);
		$pessoa->codPacote = utf8_decode($obj["pacote"]);
		$pessoa->universidade = utf8_decode(strtoupper($obj["universidade"]));
		$pessoa->curso = utf8_decode(strtoupper($obj["curso"]));
		$pessoa->ddd = $obj["ddd"];
		$pessoa->numero = $obj["numero"];
		$pessoa->delegacao = $obj["delegacao"];
		$pessoa->campus = $obj["campus"];
				

		try
		{
			$pessoa->save();
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}

	public static function verificarCPF($cpf){
		$pessoa = new Pessoa();
		$pessoa->where("cpf = '".$cpf."'");
		$pessoa->find();
		
		$pessoas = $pessoa->allToArray();
		
//		print_r($pessoas);
		
		if (count($pessoas)>0)
		{
			return "CADASTRADO";
		}else{
			return "";
		}		
	}	

	public static function verificarEMAIL($email){
		$pessoa = new Pessoa();
		$pessoa->where("email1 = '".$email."'");
		$pessoa->find();
		
		$pessoas = $pessoa->allToArray();

		if (count($pessoas)>0)
		{
			return "CADASTRADO";
		}else{
			return "";
		}		
	}	
	
	public static function gravarPagseguro($obj){
		$pagseguro = new Pagseguro();
		$pagseguro->emailCliente = $obj["email"];
//		$pagseguro->cpf = $obj["cpf"];
		$pagseguro->status = "Cadastrado";

		try
		{
			$pagseguro->save();
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}	
	
	public static function AtualizarStatus($obj){

		$pagseguro = new Pagseguro();
		$pagseguro->whereAdd("email_cliente = '".$obj["email"]."'");
		$pagseguro->status = $obj["status"];
		$pagseguro->transacao = $obj["transacao"];

		try
		{
			$pagseguro->update(true);
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}
	
	public static function setFile($obj){
		$pessoa = new Pessoa();
		$pessoa->whereAdd("email1 = '".$obj["email"]."'");
		$pessoa->file = utf8_decode($obj["file"]);
		$pessoa->assunto = utf8_decode($obj["assunto"]);

		try
		{
			$pessoa->update(true);
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}
	
	public static function setCurriculo($obj){
		$pessoa = new Pessoa();
		$pessoa->whereAdd("email1 = '".$obj["email"]."'");
		$pessoa->curriculo = utf8_decode($obj["curriculo"]);

		try
		{
			$pessoa->update(true);
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}
	
	public static function trocaPacote($cpf, $pacote){
		$pessoa = new Pessoa();
		$pessoa->whereAdd("cpf = '".$cpf."'");
		$pessoa->codPacote = $pacote;

		try
		{
			$pessoa->update(true);
			$_SESSION["pessoa"]["codPacote"] = $_REQUEST["pacote"];
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}
	
	public static function trocaDelegacao($cpf, $delegacao){
		$pessoa = new Pessoa();
		$pessoa->whereAdd("cpf = '".$cpf."'");
		$pessoa->delegacao = $delegacao;

		try
		{
			$pessoa->update(true);
			$_SESSION["pessoa"]["delegacao"] = $delegacao;
			return "";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}	
	
	public static function verificaFile($email){
		$pessoa = new Pessoa();
		$pessoa->where("email1 = '".$email."'");
		$pessoa->find();
		
		$pessoas = $pessoa->allToArray();
		if ($pessoas[0]["file"]=="")
			return "";
		else
			return $pessoas[0];
	}	
	
	public static function verificaCurriculo($email){
		$pessoa = new Pessoa();
		$pessoa->where("email1 = '".$email."'");
		$pessoa->find();
		
		$pessoas = $pessoa->allToArray();
		if ($pessoas[0]["curriculo"]=="")
			return "";
		else
			return $pessoas[0];
	}	
	
	
	public static function deletar($email){
		$pessoa = new Pessoa();
		$pessoa->whereAdd("email1 = '".$email."'");
		
		$pagseguro = new Pagseguro();
		$pagseguro->whereAdd("email_cliente = '".$email."'");
		
		try
		{
			$pessoa->delete(true);
			$pagseguro->delete(true);
			return "Registro excluido com sucesso!";
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
		
	}	
	
	public static function conEmail($email){
		$pessoa = new Pessoa();
		$pacote = new Pacote();
		$pagseguro = new Pagseguro();
		
		$pacote->alias('pacote');
		$pagseguro->alias('pagseguro');
		try
		{
			$pessoa->whereAdd(" pagseguro.status != 'Liberado'");
			if ($email!="")
				$pessoa->whereAdd("pessoa.email1='".$email."'");
			
			$pessoa->joinAdd($pacote,"INNER",'pacote','codPacote','codPacote');
			$pessoa->joinAdd($pagseguro,"INNER",'pagseguro','email1','emailCliente');
			$pessoa->orderBy("nome");
			$pessoa->find();				
			return $pessoa->allToArray();
		}catch (Exception $e)
		{
			return $e->getMessage();
		}
	}		
}

